home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / tsrhelp.zip / SAVESCR.INC < prev    next >
Text File  |  1992-05-24  |  2KB  |  68 lines

  1. ;---------------------------------------------------------------------------
  2. ; Program:  SaveScr.Asm
  3. ;
  4. ; Author:   Steve Poulsen
  5. ;
  6. ; This procedure will save the screen text/attr at SI with the size to save
  7. ; entered in CX and DX with CL = X1, CH = Y1, DL = X2, DH = Y2. SI should
  8. ; point to a location with the same number of words as characters to save.
  9. ;
  10. ;---------------------------------------------------------------------------
  11. SaveScr Proc    Near
  12.         Push AX
  13.         Push BX
  14.         Push DI
  15.         Push SI
  16.         Push CX
  17.         Push ES
  18.         
  19.         Mov AX,0B800h                   ; Screen memory segment for color
  20.         Mov ES,AX
  21.         
  22.         Mov AH,0Fh                      ; Check video mode
  23.         Int 10h
  24.         Cmp AL,07h                      ; Monochrome?
  25.         JNE Clr2
  26.         Mov AX,0B000h                   ; Screen memory segment for mono
  27.         Mov ES,AX
  28. Clr2:        
  29.         Mov BL,CL
  30.         Mov BH,0
  31.         
  32.         Mov AL,160
  33.         Mul CH
  34.         Mov DI,AX
  35.         Add DI,BX
  36.         Add DI,BX
  37. C2:
  38.         Push DX
  39.         Mov DX,ES:[DI]
  40.         Mov CS:[SI],DX
  41.         Pop DX
  42.         Cmp BL,DL
  43.         JE N2
  44.         Inc DI
  45.         Inc DI
  46.         Inc SI
  47.         Inc SI
  48.         Inc BL
  49.         Jmp C2
  50. N2:                                      ; Start of loop for vert. lines
  51.         Inc DI
  52.         Inc DI
  53.         Inc SI
  54.         Inc SI
  55.         Inc BL
  56.         Inc CH
  57.         Cmp CH,DH
  58.         JLE Clr2
  59.         
  60.         Pop ES
  61.         Pop CX
  62.         Pop SI
  63.         Pop DI
  64.         Pop BX
  65.         Pop AX
  66.         Ret
  67. SaveScr EndP
  68.